module is installed, but missing library stubs or py.typed markerが出たときの対処法
外部のPythonのパッケージをimportしたソースコードをmypyモジュールで型チェックした際に、「module is installed, but missing library stubs or py.typed marker」が発生することがある
直訳:「モジュールはインストール済みですが、スタブライブラリかpy.typedマーカーがありません」
すごくざっくりに説明すると、importしたパッケージが型チェックに対応していないということ
これを対処する方法はいくつかある
mypy.iniにignore_missing_importsの設定を追加して、エラーがでるモジュールを無視するようにさせる
以下のサイトが詳しい
mypy - Python お作法 - Qiita
mypyで静的型チェックを導入する - け日記
スタブファイルが入ったサードパーティパッケージをインストールする
この対処法は、有志がそういったパッケージを作ってくれていない限り使えない
自作するという手ももちろんある
以下のサイトを参照
PEP 561 に準拠した型ヒントを含むパッケージの作り方 – ymyzk’s blog
PEP 561 – Distributing and Packaging Type Information | peps.python.org
自作パッケージの場合は、パッケージにpy.typedを含める
もちろん、型定義はきちんとやっているという前提で行う
setup.pyを使用しているのなら、以下のサイトが参考になる
PEP 561 に準拠した型ヒントを含むパッケージの作り方 – ymyzk’s blog
このページの「型ヒント付きのパッケージを配布したい (スタブファイル編)」あたりを参照して欲しい
setup.cfgを使用しているのなら、以下のサイトを参考にMANIFEST.inを作成しよう
Pythonパッケージに設定ファイルを含めて配布する - nullpo.io
pyproject.tomlでsetuptools以外を使用しているパッケージでの対処法まではわかりません(すいません)